package com.qianyu.core.entity.vo;

import com.qianyu.core.util.TimeUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;

@Data
@ApiModel(value = "QqAccountVo")
public class QqAccountVo {

    @Data
    @ApiModel(value = "QqAccountVo&AccountSimpleVo")
    public static class AccountSimpleVo {

        /**
         *  账号id
         */
        @ApiModelProperty("账号id")
        private Long id;

        /**
         * QQ
         */
        @NotBlank(message = "[QQ]不能为空")
        @Size(max = 12, message = "编码长度不能超过12")
        @ApiModelProperty("QQ")
        private String qq;
        /**
         * 手机号
         */
        @NotBlank(message = "[手机号]不能为空")
        @Size(max = 255, message = "编码长度不能超过255")
        @ApiModelProperty("手机号")
        private String phone;

        /**
         * 到期时间
         */
        @NotNull(message = "[到期时间]不能为空")
        @ApiModelProperty("到期时间")
        private Integer rentExpire;
        /**
         * 租用时间
         */
        @NotNull(message = "[租用时间]不能为空")
        @ApiModelProperty("租用时间")
        private Integer rentTime;


        /**
         * QB数量
         */
        @NotNull(message = "[QB数量]不能为空")
        @ApiModelProperty("QB数量")
        private BigDecimal qnum;
        /**
         * 原QB数量
         */
        @NotNull(message = "[原QB数量]不能为空")
        @ApiModelProperty("原QB数量")
        private BigDecimal originQnum;
        /**
         * 账号状态:-1=冻结,0=待初始化,1=正常,2=异常
         */
        @NotNull(message = "[账号状态:-1=冻结,0=待初始化,1=正常,2=异常]不能为空")
        @ApiModelProperty("账号状态:-1=冻结,0=待初始化,1=正常,2=异常")
        private Integer status;

        /**
         * 租用状态:0=待出租,1=出租中,2=已过期
         */
        @NotNull(message = "[租用状态:0=待出租,1=出租中,2=已过期]不能为空")
        @ApiModelProperty("租用状态:0=待出租,1=出租中,2=已过期")
        private Integer rentStatus;

        /**
         * 分配用户昵称
         */
        @ApiModelProperty("分配用户昵称")
        private String nickname;

        /**
         * 分配用户id
         */
        @ApiModelProperty(value = "分配用户id")
        private Long userId;

        public String getRentExpire() {
            return TimeUtil.formatYmdHms(rentExpire);
        }

        public String getRentTime() {
            return TimeUtil.formatYmdHms(rentTime);
        }
    }
}
